package com.anlogic.sdk.ui.tests.uc6.projectattr;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
import org.eclipse.swtbot.eclipse.finder.waits.Conditions;
import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
import com.anlogic.sdk.ui.tests.utils.ProjectAttributeUtils;
import com.anlogic.sdk.ui.tests.utils.WorkspaceUtils;

public class ArmTest {
	private static SWTWorkbenchBot bot;

	@BeforeClass
	public static void setUpBeforeClass() throws Exception {

		bot = new SWTWorkbenchBot();
		SWTBotPreferences.TIMEOUT = 10000;
		SWTBotPreferences.KEYBOARD_LAYOUT = "EN_US";
		bot.waitUntil(Conditions.shellIsActive("data - FutureDynasty"), 60 * 1000);
	}

	@Before
	public void setUp() throws Exception {
		WorkspaceUtils.resetworkbench(bot);
	}

	@After
	public void tearDown() throws Exception {

		WorkspaceUtils.cleanWorkspace();
	}

	
	//  begin
	@Test
	public void Optimization_OptimizationLevelO0_Test() throws InterruptedException {
		ProjectAttributeUtils.armTestcomboBox(bot, "Optimization", 1, "None(-O0)", "-O0");
	}
	
	@Test
	public void Optimization_OptimizationLevelO1_Test() throws InterruptedException {
		ProjectAttributeUtils.armTestcomboBox(bot, "Optimization", 1, "Optimize (-O1)", "-O1");
	}
	
	@Test
	public void Optimization_OptimizationLevelO2_Test() throws InterruptedException {
		ProjectAttributeUtils.armTestcomboBox(bot, "Optimization", 1, "Optimize more (-O2)", "-O2");
	}

	@Test
	public void Optimization_OptimizationLevelO3_Test() throws InterruptedException {
		ProjectAttributeUtils.armTestcomboBox(bot, "Optimization", 1, "Optimize most (-O3)", "-O3");
	}
	
	@Test
	public void Optimization_OptimizationLevelOs_Test() throws InterruptedException {
		ProjectAttributeUtils.armTestcomboBox(bot, "Optimization", 1, "Optimize size (-Os)", "-Os");
	}
	
	@Test
	public void Optimization_OptimizationLevelOfast_Test() throws InterruptedException {
		ProjectAttributeUtils.armTestcomboBox(bot, "Optimization", 1, "Optimize fast (-Ofast)", "-Ofast");
	}
	
	@Test
	public void Optimization_OptimizationLevelOg_Test() throws InterruptedException {
		ProjectAttributeUtils.armTestcomboBox(bot, "Optimization", 1, "Optimize for debug (-Og)", "-Og");
	}
	
	@Test
	public void Optimization_OptimizationLevelOz_Test() throws InterruptedException {
		ProjectAttributeUtils.armTestcomboBox(bot, "Optimization", 1, "Optimize aggressively for size (-Oz)", "-Oz");
	}
	
	
	
	@Test 
	public void Optimization_Messagelength_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Optimization", "Message length (-fmessage-length=0)", "-fmessage-length=0");
	}
	
	
	@Test 
	public void Optimization_charissigned_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Optimization", "char is signed (-fsigned-char)", "-fsigned-char");
	}
	
	@Test 
	public void Optimization_Functionsections_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Optimization", "Function sections (-ffunction-sections)", "-ffunction-sections");
	}
	
	@Test 
	public void Optimization_Datasections_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Optimization", "Data sections (-fdata-sections)", "-fdata-sections");
	}
	
	@Test 
	public void Optimization_Nocommonunitialized_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Optimization", "No common unitialized (-fno-common)", "-fno-common");
	}
	
	
	@Test 
	public void Optimization_Donotinlinefunctions_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Optimization", "Do not inline functions (-fno-inline-functions)", "-fno-inline-functions");
	}
	
	
	@Test 
	public void Optimization_Assumefreestandingenvironment_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Optimization", "Assume freestanding environment (-ffreestanding)", "-ffreestanding");
	}
	
	@Test 
	public void Optimization_Disablebuiltin_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Optimization", "Disable builtin (-fno-builtin)", "-fno-builtin");
	}
	
	
	@Test 
	public void Optimization_Singleprecisionconstants_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Optimization", "Single precision constants (-fsingle-precision-constant)", "-fsingle-precision-constant");
	}
	
	@Test 
	public void Optimization_Positionindependentcode_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Optimization", "Position independent code (-fPIC)", "-fPIC");
	}
	
	
	@Test 
	public void Optimization_Linktimeoptimizer_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Optimization", "Link-time optimizer (-flto)", "-flto");
	    
	}
	
	@Test 
	public void Optimization_Disableloopinvariantmove_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Optimization", "Disable loop invariant move (-fno-move-loop-invariants)", "-fno-move-loop-invariants");
	}
	
	@Test 
	public void Optimization_Otheroptimizationflags_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTesttextWithLabel(bot, "Optimization", "Other optimization flags", "qweqeeq","qweqeeq");
	}
	
	
	
	
	
	
	
	@Test 
	public void Warnings_Checksyntaxonly_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Warnings", "Check syntax only (-fsyntax-only)", "-fsyntax-only");
	}
	
	@Test 
	public void Warnings_Pedantic_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Warnings", "Pedantic (-pedantic)", "-pedantic");
	}
	
	@Test 
	public void Warnings_Pedanticwarningsaserrors_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Warnings", "Pedantic warnings as errors (-pedantic-errors)", "-pedantic-errors");
	}
	
	@Test 
	public void Warnings_Inhibitallwarnings_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Warnings", "Inhibit all warnings (-w)", "-w");
	}
	
	@Test 
	public void Warnings_Warnonvariousunusedelements_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Warnings", "Warn on various unused elements (-Wunused)", "-Wunused");
	}
	
	@Test 
	public void Warnings_Warnonuninitializedvariables_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Warnings", "Warn on uninitialized variables (-Wuninitialised)", "-Wuninitialised");
	}
	
	@Test 
	public void Warnings_Enableallcommonwarnings_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Warnings", "Enable all common warnings (-Wall)", "-Wall");
	}
	
	@Test 
	public void Warnings_Enableextrawarnings_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Warnings", "Enable extra warnings (-Wextra)", "-Wextra");
	}
	
	@Test 
	public void Warnings_Warnonundeclaredglobalfunction_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Warnings", "Warn on undeclared global function (-Wmissing-declaration)", "-Wmissing-declaration");
	}
	
	@Test 
	public void Warnings_Warnonimplicitconversions_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Warnings", "Warn on implicit conversions (-Wconversion)", "-Wconversion");
	}
	
	@Test 
	public void Warnings_Warnifpointerarithmetic_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Warnings", "Warn if pointer arithmetic (-Wpointer-arith)", "-Wpointer-arith");
	}
	
	@Test 
	public void Warnings_Warnifpaddingisincluded_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Warnings", "Warn if padding is included (-Wpadded)", "-Wpadded");
	}
	
	@Test 
	public void Warnings_Warnifshadowedvariable_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Warnings", "Warn if shadowed variable (-Wshadow)", "-Wshadow");
	}
	
	@Test 
	public void Warnings_Warnifsuspiciouslogicalops_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Warnings", "Warn if suspicious logical ops (-Wlogical-op)", "-Wlogical-op");
	}
	
	@Test 
	public void Warnings_Warnifstructisreturned_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Warnings", "Warn if struct is returned (-Wagreggate-return)", "-Wagreggate-return");
	}
	
	@Test 
	public void Warnings_Warniffloatsarecomparedasequal_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Warnings", "Warn if floats are compared as equal (-Wfloat-equal)", "-Wfloat-equal");
	}
	
	@Test 
	public void Warnings_Generateerrorsinsteadofwarnings_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Warnings", "Generate errors instead of warnings (-Werror)", "-Werror");
	}
	
	@Test 
	public void Warnings_Otherwarningflags_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTesttextWithLabel(bot,"Warnings", "Other warning flags", "string", "string");
	}
	
	
	
	
	
	@Test
	public void Debugging_DebuglevelMinimal_Test() throws InterruptedException {
		ProjectAttributeUtils.armTestcomboBox(bot, "Debugging", 1, "Debug level Minimal (-g1)", "-g1");
	}
	
	@Test
	public void Debugging_Maximum_Test() throws InterruptedException {
		ProjectAttributeUtils.armTestcomboBox(bot, "Debugging", 1, "Maximum (-g3)", "-g3");
	}
	
	@Test
	public void Debugging_Debugleveldefault_Test() throws InterruptedException {
		ProjectAttributeUtils.armTestcomboBox(bot, "Debugging", 1, "Debug level default(-g)", "-g");
	}
	
	@Test
	public void Debugging_Debugformatgdb_Test() throws InterruptedException {
		ProjectAttributeUtils.armTestcomboBox(bot, "Debugging", 2, "Debug format gdb", "gdb");
	}
	 
	@Test
	public void Debugging_Debugformatstabs_Test() throws InterruptedException {
		ProjectAttributeUtils.armTestcomboBox(bot, "Debugging", 2, "Debug format stabs", "stabs");
	}
	
	@Test
	public void Debugging_Debugformatstabspro_Test() throws InterruptedException {
		ProjectAttributeUtils.armTestcomboBox(bot, "Debugging", 2, "Debug format stabs+", "stabs+");
	}
	
	@Test
	public void Debugging_Debugformatdwarf2_Test() throws InterruptedException {
		ProjectAttributeUtils.armTestcomboBox(bot, "Debugging", 2, "Debug format dwarf-2", "dwarf-2");
	}
	
	@Test
	public void Debugging_Debugformatdwarf3_Test() throws InterruptedException {
		ProjectAttributeUtils.armTestcomboBox(bot, "Debugging", 2, "Debug format dwarf-3", "dwarf-3");
	}
	
	@Test
	public void Debugging_Debugformatdwarf4_Test() throws InterruptedException {
		ProjectAttributeUtils.armTestcomboBox(bot, "Debugging", 2, "Debug format dwarf-4", "dwarf-4");
	}
	
	@Test
	public void Debugging_Debugformatdwarf5_Test() throws InterruptedException {
		ProjectAttributeUtils.armTestcomboBox(bot, "Debugging", 2, "Debug format dwarf-5", "dwarf-5");
	}
	
	@Test 
	public void Debugging_Generateprofinformation_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Debugging", "Generate prof information (-p)", "-p");
	}
	
	@Test 
	public void Debugging_Generategprofinformation_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBox(bot,"Debugging", "Generate gprof information (-pg)", "-pg");
	}
	
	@Test 
	public void Debugging_Otherdebuggingflags_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTesttextWithLabel(bot,"Debugging", "Other debugging flags", "string", "string");
	}
	
	
	
	
	@Test 
	public void AssemblerPreprocessor_Donotsearchsystemdirectories_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross Assembler", "Preprocessor", "Do not search system directories (-nostdinc)", "-nostdinc");
	}
	
	@Test 
	public void AssemblerPreprocessor_Preprocessonly_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross Assembler", "Preprocessor","Preprocess only (-E)", "-E");
	}

	
	//TODO  Assembler/Preprocessor Undefined symbols (-U)
	//TODO  Assembler/Preprocessor Defined symbols (-D)
	
	
	//TODO  Assembler/Includes
	
	@Test 
	public void AssemblerWarnings_Otherwarningflags_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTesttextWithLabelWithNode(bot, "GNU Arm Cross Assembler", "Warnings", "Other warning flags", "string", "string");
	}
	
	//TODO Assembler/Miscellaneous  assembler flag
	
	
	@Test 
	public void AssemblerMiscellaneous_Generateassemblerlisting_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross Assembler", "Miscellaneous", "Generate assembler listing (-Wa,-adhlns=\"$@.lst\")", "-Wa,-adhlns=\"$@.lst\"");
	}
	
	
	@Test 
	public void AssemblerMiscellaneous_Savetemporaryfiles_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross Assembler", "Miscellaneous", "Save temporary files (--save-temps Use with caution!)", "--save-temps Use with caution!");
	}
	
	
	@Test 
	public void AssemblerMiscellaneous_Verbose_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross Assembler", "Miscellaneous", "Verbose (-v)", "-v");
	}
	
	
	@Test 
	public void AssemblerMiscellaneous_Otherassemblerflags_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTesttextWithLabelWithNode(bot, "GNU Arm Cross Assembler", "Miscellaneous", "Other assembler flags", "string", "string");
	}

	
	
	@Test 
	public void CompilerPreprocessor_Donotsearchsystemdirectories_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Compiler", "Preprocessor", "Do not search system directories (-nostdinc)", "-nostdinc");
	}
	
	
	@Test 
	public void CompilerPreprocessor_Preprocessonly_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Compiler", "Preprocessor", "Preprocess only (-E)", "-E");
	}
	
	//TODO  Compiler/Preprocessor Undefined symbols (-U)
	//TODO  Compiler/Preprocessor Defined symbols (-D)
		
	//TODO  Compiler/Includes
	
	
	@Test 
	public void CompilerOptimization_Preprocessonly_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestcomboBoxWithNode(bot,"GNU Arm Cross C Compiler", "Optimization", 1,  "Language standard Next GNU ISO C (-std=gnu2x)", "-std=gnu2x");
	}
	
	@Test 
	public void CompilerOptimization_LanguagestandardISOC90_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestcomboBoxWithNode(bot,"GNU Arm Cross C Compiler", "Optimization", 1,  "Language standard ISO C90 (-ansi)", "-ansi");
	}
	
	@Test 
	public void CompilerOptimization_Languagestandardoption_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestcomboBoxWithNode(bot,"GNU Arm Cross C Compiler", "Optimization", 1,  "Language standard %option.c.compiler.std.iso9899.1994090", "%option.c.compiler.std.iso9899.1994090");
	}
	
	@Test 
	public void CompilerOptimization_LanguagestandardGNUISOC90_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestcomboBoxWithNode(bot,"GNU Arm Cross C Compiler", "Optimization", 1,  "Language standard GNU ISO C90 (-std=gnu90)", "-std=gnu90");
	}
	
	@Test 
	public void CompilerOptimization_LanguagestandardISOC99_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestcomboBoxWithNode(bot,"GNU Arm Cross C Compiler", "Optimization", 1,  "Language standard ISO C99 (-std=c99)", "-std=c99");
	}
	
	@Test 
	public void CompilerOptimization_LanguagestandardGNUISOC99_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestcomboBoxWithNode(bot,"GNU Arm Cross C Compiler", "Optimization", 1,  "Language standard GNU ISO C99 (-std=gnu99)", "-std=gnu99");
	}
	
	@Test 
	public void CompilerOptimization_LanguagestandardISOC11_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestcomboBoxWithNode(bot,"GNU Arm Cross C Compiler", "Optimization", 1,  "Language standard ISO C11 (-std=c11)", "-std=c11");
	}
	
	@Test 
	public void CompilerOptimization_LanguagestandardGNUISOC11_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestcomboBoxWithNode(bot,"GNU Arm Cross C Compiler", "Optimization", 1,  "Language standard GNU ISO C11 (-std=gnu11)", "-std=gnu11");
	}
	
	@Test 
	public void CompilerOptimization_LanguagestandardISOC17_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestcomboBoxWithNode(bot,"GNU Arm Cross C Compiler", "Optimization", 1,  "Language standard ISO C17 (-std=c17)", "-std=c17");
	}
	
	@Test 
	public void CompilerOptimization_LanguagestandardGNUISOC17_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestcomboBoxWithNode(bot,"GNU Arm Cross C Compiler", "Optimization", 1,  "Language standard GNU ISO C17 (-std=gnu17)", "-std=gnu17");
	}
	
	@Test 
	public void CompilerOptimization_LanguagestandardNextISOC_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestcomboBoxWithNode(bot,"GNU Arm Cross C Compiler", "Optimization", 1,  "Language standard Next ISO C (-std=c2x)", "-std=c2x");
	}
	
	@Test 
	public void CompilerOptimization_LanguagestandardToolchaindefault_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestcomboBoxWithNode(bot,"GNU Arm Cross C Compiler", "Optimization", 1,  "Language standard Toolchain default(GNU ISO C11)", "GNU ISO C11");
	}
	
	
	@Test 
	public void CompilerOptimization_Otheroptimizationflags_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTesttextWithLabelWithNode(bot, "GNU Arm Cross C Compiler", "optimization", "Other optimization flags", "string", "string");
	}
	
	
	@Test 
	public void CompilerWarnings_Warnifaglobalfunctionhasnoprototype_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Compiler", "Warnings","Warn if a global function has no prototype (-Wmissing-prototypes)", "-Wmissing-prototypes");
	}

	@Test 
	public void CompilerWarnings_Warnifafunctionhasnoargtype_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Compiler", "Warnings","Warn if a function has no arg type (-Wstrict-prototypes)", "-Wstrict-prototypes");
	}
	
	
	@Test 
	public void CompilerWarnings_Warnifwrongcast_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Compiler", "Warnings", "Warn if wrong cast  (-Wbad-function-cast)", "-Wbad-function-cast");
	}
	
	
	@Test 
	public void CompilerWarnings_Otherwarningflags_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTesttextWithLabelWithNode(bot, "GNU Arm Cross C Compiler", "Warnings", "Other warning flags", "string", "string");
	}
	
	
	@Test 
	public void CompilerMiscellaneous_Generateassemblerlisting_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Compiler", "Miscellaneous","Generate assembler listing (-Wa,-adhlns=\"$@.lst\")", "-Wa,-adhlns=\"$@.lst\"");
	}

	@Test 
	public void CompilerMiscellaneous_Savetemporaryfiles_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Compiler", "Miscellaneous","Save temporary files (--save-temps Use with caution!)", "--save-temps Use with caution!");
	}
	
	
	@Test 
	public void CompilerMiscellaneous_Verbose_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Compiler", "Miscellaneous", "Verbose (-v)", "-v");
	}
	
	
	@Test 
	public void CompilerMiscellaneous_Othercompilerflags_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTesttextWithLabelWithNode(bot, "GNU Arm Cross C Compiler", "Miscellaneous", "Other compiler flags", "string", "string");
	}
	
	
	//TODO  Linker/General  Script files(-T)
	
	@Test 
	public void LinkerGeneral_Donotusestandardstartfiles_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Linker", "General", "Do not use standard start files (-nostartfiles)", "-nostartfiles");
	}
	
	@Test 
	public void LinkerGeneral_Donotusedefaultlibraries_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Linker", "General", "Do not use default libraries (-nodefaultlibs)", "-nodefaultlibs");
	}
	
	@Test 
	public void LinkerGeneral_Nostartupordefaultlibs_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Linker", "General", "No startup or default libs (-nostdlib)", "-nostdlib");
	}
	
	@Test 
	public void LinkerGeneral_Removeunusedsections_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Linker", "General", "Remove unused sections (-Xlinker --gc-sections)", "-Xlinker --gc-sections");
	}
	
	@Test 
	public void LinkerGeneral_Printremovedsections_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Linker", "General", "Print removed sections (-Xlinker --print-gc-sections)", "-Xlinker --print-gc-sections");
	}
	
	@Test 
	public void LinkerGeneral_Omitallsymbolinformation_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Linker", "General", "Omit all symbol information (-s)", "-s");
	}
	
	
	//TODO   Linker/Libraries
	
	//TODO   Linker/Miscellaneous    Linker flags (-Xlinker [option])   otherobejct(-L)
	
	@Test 
	public void LinkerMiscellaneous_Generatemap_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTesttextWithLabelWithNode(bot, "GNU Arm Cross C Linker", "Miscellaneous", "Generate map", "string", "string");
	}
	
	@Test 
	public void LinkerMiscellaneous_Crossreference_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Linker", "Miscellaneous", "Cross reference (-Xlinker --cref)", "-Xlinker --cref");
	}
	
	@Test 
	public void LinkerMiscellaneous_Printlinkmap_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Linker", "Miscellaneous", "Print link map (-Xlinker --print-map)", "-Xlinker --print-map");
	}
	
	@Test 
	public void LinkerMiscellaneous_Usenewlibnano_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Linker", "Miscellaneous", "Use newlib-nano (--specs=nano.specs)", "--specs=nano.specs");
	}
	
	@Test 
	public void LinkerMiscellaneous_Usefloatwithnanoprintf_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Linker", "Miscellaneous", "Use float with nano printf (-u _printf_float)", "-u _printf_float");
	}
	
	@Test 
	public void LinkerMiscellaneous_Usefloatwithnanoscanf_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Linker", "Miscellaneous", "Use float with nano scanf (-u _scanf_float)", "-u _scanf_float");
	}
	
	@Test 
	public void LinkerMiscellaneous_Donotusesyscalls_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Linker", "Miscellaneous", "Do not use syscalls (--specs=nosys.specs)", "--specs=nosys.specs");
	}
	
	@Test 
	public void LinkerMiscellaneous_Verbose_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross C Linker", "Miscellaneous", "Verbose (-v)", "-v");
	}
	
	
	@Test 
	public void LinkerMiscellaneous_Otherlinkerflags_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTesttextWithLabelWithNode(bot, "GNU Arm Cross C Linker", "Miscellaneous", "Other linker flags", "string", "string");
	}
	
	
	
	@Test 
	public void CreateFlashImageGeneral_IntelHEX_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestcomboBoxWithNode(bot,"GNU Arm Cross Create Flash Image", "General", 1,  "Output file format (-O) Intel HEX", "Intel HEX");
	}
	
	@Test 
	public void CreateFlashImageGeneral_MotorolaSrecord_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestcomboBoxWithNode(bot,"GNU Arm Cross Create Flash Image", "General", 1,  "Output file format (-O) Motorola S-record", "Motorola S-record");
	}
	
	@Test 
	public void CreateFlashImageGeneral_MotorolaSrecordsymbols_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestcomboBoxWithNode(bot,"GNU Arm Cross Create Flash Image", "General", 1,  "Output file format (-O) Motorola S-record (symbols)", "Motorola S-record (symbols)");
	}
	
	@Test 
	public void CreateFlashImageGeneral_Rawbinary_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestcomboBoxWithNode(bot,"GNU Arm Cross Create Flash Image", "General", 1,  "Output file format (-O) Raw binary", "Raw binary");
	}
	

	@Test 
	public void CreateFlashImageGeneral_Sectionjtext_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross Create Flash Image", "General", "Section: -j .text", "Section: -j .text");
	}
	
	@Test 
	public void CreateFlashImageGeneral_Sectionjdata_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross Create Flash Image", "General", "Section: -j .data", "Section: -j .data");
	}
	
	
	//TODO Create Flash Image/General  Other sections (-j)
	
	@Test 
	public void CreateFlashImageGeneral_Otherflags_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTesttextWithLabelWithNode(bot, "GNU Arm Cross Create Flash Image", "General", "Other flags", "string", "string");
	}
	
	
	@Test 
	public void PrintSizeGeneral_SizeformatBerkeley_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestcomboBoxWithNode(bot,"GNU Arm Cross Print Size", "General", 1,  "Size format Berkeley", "Berkeley");
	}
	
	@Test 
	public void PrintSizeGeneral_SizeformatSysV_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestcomboBoxWithNode(bot,"GNU Arm Cross Print Size", "General", 1,  "Size format SysV", "SysV");
	}
	
	
	@Test 
	public void PrintSizeGeneral_Showtotals_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTestCheckBoxWithNode(bot,"GNU Arm Cross Print Size", "General", "Show totals", "Show totals");
	}
	
	@Test 
	public void PrintSizeGeneral_Otherflags_Test() throws InterruptedException
	{
	    ProjectAttributeUtils.armTesttextWithLabelWithNode(bot, "GNU Arm Cross Print Size", "General", "Other flags", "string", "string");
	}
	

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
	}

}
